\subsection{Présentation du sujet}
\label{sec:internship_context}

\begin{figure}[H]
\setlength{\unitlength}{1.2cm}
\begin{picture}(11,7)
\put(-1.45,0){\colorbox{imgBackground}{\includegraphics[width=1.2\textwidth]{images/mda_way3.png}}}
\end{picture}
\caption{D\'emarche de modernisation}\label{fig:mda_way}
\end{figure}

%\begin{figure}[H]
%\addtolength{\oddsidemargin}{-1cm}
%\addtolength{\textwidth}{60pt}
%\centering
%\raggedleft
%\includegraphics[width=\textwidth]{images/mda_way3.png}
%\caption{D\'emarche de modernisation}\label{fig:mda_way}
%\end{figure}

 Afin de situer le sujet il est utile d'introduire la notion de migration
 d'application qui est au coeur des activités de \textsc{Sodifrance}. Le schéma
 \ref{fig:mda_way} présente d'une manière simplifiée la chaîne de migration
 d'architecture utilisée par \textsc{Sodifrance}. On y observe les étapes
 suivantes:
\begin{itemize}
  \item Une phase de \emphbf{retro-ingéniérie} qui permet par analyse du code
  source, d'extraire un modèle source selon des formalismes standards propre aux
  sources.
  \item La phase de \emphbf{transformation} regroupe un certains nombres de
  traitement permettant de produire un modèle cible. Comme opération on peut
  citer: découpage en couches, suppression des pointeurs, renommage, \ldots.
  \item La phase suivante est une phase de \emphbf{génération} du code cible à
  partir du modèle cible précédemment créé. 
  \item Une phase d'\emphbf{intégration} manuelle est requise pour effectuer des traitements 
  supplémentaires gérant les aspects du code qui n'ont
  pas pu l'être de manière automatique.\\
\end{itemize}

L'application migrée est considérée comme fonctionnelle au bout de la phase
d'intégration. Il est donc intéressant de disposer d'un outil permettant de
suivre l'évolution de l'application pendant la durée de cette phase. C'est dans
ce contexte que ce situe le stage; la réalisation d'une plateforme de migration étendant 
l'environnement de développement \emph{\Gls{eclipse}} pour proposer des outils
de suivi d'avancement d'intégration en particulier et répondre aux besoins spécifiques de 
la migration d'applications en générale.

Comme besoins spécifiques à la migration d'applications on peut citer:
%	Le stage portait sur la réalisation d’une plate-forme de migration dans
%l’environnement \Gls{eclipse}. Le but de cette plate-forme est d'étendre
%l’environnement de développement \emph{\Gls{eclipse}} pour répondre aux besoins
%spécifiques de la migration d’applications. A savoir : 
\begin{itemize}
  \item Production de tableaux de bord d’avancement à partir des informations
  capturées dans le code.
  \item Agrégation de données provenant des différents modèles utilisés durant
  le processus:%
  \begin{itemize}
    \item Modèle de code source.
    \item Modèle de code migré.
    \item Modèle de des tests.
  \end{itemize}
  \item Mise en place d’un environnement graphique facilitant la navigation et
  la consolidation de ces informations
\end{itemize}


\subsection{Pr\'esentation de l'\'equipe}
\label{sec:evol_archi_team}

	La mission a été réalisé au sein de l'équipe en charge des solutions techniques sur les projets
d’évolution d’architecture. L'équipe forte de 10 membres, a une activité principalement tournée vers 
la migration d’applications développées dans des technologies obsolescentes (VB, NSDK, Delphi, Smalltalk) 
vers des plateformes plus modernes (J2EE, .Net, Flex, GWT).\\%

Le périmètre d’intervention des membres de l’équipe comprend :
\begin{itemize}
  \item La conception de l’architecture cible:
  \begin{itemize}
    \item Choix de frameworks.
    \item Définition de patterns de code.
  \end{itemize}
  \item La spécification et la réalisation des chaînes de migration à base
  d’outils \GLS{mda}:
  \begin{itemize}
    \item Transformations de modèles.
    \item Génération de code.
  \end{itemize}
  \item L’encadrement technique des équipes.\\%
\end{itemize}

%\clearpage
